#唐门优测
#道长最帅666
""
"""
1,基本规则
    1，大小写敏感
    2，使用缩进表示层级关系
    3，缩进长度没有限制，只要元素对齐就表示这些元素属于一个层级
    4，#表示注释
    5，字符串可以不用引号标注
    
2，三种数据结构
    1，map，散列表：使用冒号（：）表示键值对，同一缩进的所有键值对属于一个map
        map（）根据提供的函数 对指定序列做映射
    2，list，数组
        使用连字符（-）表示 
    3，scalar。纯量
        数据最小的单位，不可以再分割
        
数据结构嵌套
    
yaml配置文件读写
1，安装pyyaml
导入 import yaml

load:将yaml流转化为python字典
yaml.load(stream,Loader = yaml.FullLoader)
    参数：stream:d待读取的 文件对象
    yaml.FullLoader：加载yaml
    
dump:将python对象转化为yaml流；
yaml.dump(data,stream)
参数：data：写入数据类型为字典
    stream:打开文件的对象
"""
import yaml
def get_yaml_filepath(filepath =""):
    with open(filepath,'r',encoding='utf-8')as f:
        #调用load方法加载文件流
        return yaml.load(f,Loader=yaml.FullLoader)

def write_yaml(filepath ="",data =""):
    with open(filepath,encoding='utf-8',mode='w') as f:
        return yaml.dump(data,stream=f,allow_unicode=True)

if __name__ == '__main__':
    #读取
    read_data = get_yaml_filepath(filepath=r'D:\daima\xin-daima\kejian\yaml详解2\daozhang777.yaml')
    print(read_data)

    #写入
    data = [ [ 'a', 'b', 12 ], [ 'a+++', 'b+++', '12+++' ] ]
    write = write_yaml(filepath=r'D:\daima\xin-daima\kejian\yaml详解2\daozhang888.yaml',data=data)

